Printing devices, such as printers, copy machines, and multi-function peripherals (MFPs) such as the Ricoh Aficio Color 6513 system, are often designed to provide a variety of functions. For example, a printing device may be designed to offer collating, punching, and/or stapling functions. By invoking a print feature of an application executing on a computer, a user may instruct his computer to print a document using a selected printing device. The user may configure the print feature to instruct the selected printing device to perform selected actions, such as collating, punching, and/or stapling, relative to the document to be printed.
Usually such an application executes in the context of an operating system into which a print driver specifically designed for the selected printing device has been loaded. When a user invokes a print feature of an application, the application invokes the print driver that corresponds to the selected printing device. Because the print driver was specifically designed for the printing device, the print driver is capable of issuing, to the printing device, the commands needed to cause the printing device to perform the selected actions.
However, some applications are not constructed to invoke a print driver. Some applications are constructed, instead, to issue commands directly to a selected printing device without invoking a print driver. Such an application is often constructed so that the application is usable only in conjunction with certain printing devices that recognize the commands. Often, the same company or group of companies that provides such an application also provides the printing devices that are designed to recognize the commands issued by the application. Sometimes, the commands are non-standard commands that differ from commands recognized by existing printing devices provided by other companies.
A user might want to use such an application, but might be deterred from using the application because his existing printing device will not recognize at least some of the commands issued by the application. A user who already owns such an application might want to switch to a different printing device, but might be deterred from switching to the different printing device because the different printing device will not recognize at least some of the commands issued by the application.
Recognizing the user's quandary, a company that designs printing devices might design new printing devices in response to such applications, so that the new printing devices will recognize the commands issued by such applications. Unfortunately, soon after the company produces the new printing devices, new versions of the applications may be released. The new applications may issue new commands that the new printing devices do not recognize. This is particularly likely when the creators of the new applications desire that the new applications will be incompatible with the new printing devices.
When a printing device fails to recognize a command, the printing device may fail to perform a desired action relative to a document. Worse yet, an unrecognized command might cause a printing device to experience an error, which may prevent the printing device from printing any documents sent from an application that issues the unrecognized command.
Existing printing devices do not provide a mechanism through which the set of all commands recognized by the existing printing devices can be updated without replacing the printing device or replacing or modifying a significant element of the printing device.
Based on the foregoing, there is a need for a printing device that does not suffer from the limitations of existing printing devices.